package com.cskaoyan.wordmemorize.service;

import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;

/**
 * 文件上传服务接口
 */
public interface FileService {

    /**
     * 上传文件到OSS
     *
     * @param file      文件
     * @param directory 存储目录，例如：avatar, audio
     * @return 文件访问URL
     * @throws IOException IO异常
     */
    String uploadFile(MultipartFile file, String directory) throws IOException;

    /**
     * 从URL中删除文件
     *
     * @param fileUrl 文件URL
     */
    void deleteFile(String fileUrl);

    /**
     * 获取文件名称从URL
     *
     * @param fileUrl 文件URL
     * @return 文件名称
     */
    String getObjectNameFromUrl(String fileUrl);
}
